#ifndef BM_LIGHT_H
#define BM_LIGHT_H
#ifdef __APPLE__
    #include <SDL/SDL.h>
#else
    #include <SDL/SDL.h>
#endif

typedef struct Light_Struct
{
    GLenum light_kind;
    GLfloat param[4];
    GLenum light;
} Light_Struct;

class BMLight
{
    protected:

    public:
        void enableLightning(GLenum light);
        void disableLightning(GLenum light);
        /*
         * Creates a ligh.
         * Ambient light: (can be used for diffuse light and specular light as well)
         * @param float r - red
         * @param float g - green
         * @param float b - blue
         * @param float a - alpha
         *
        */
        void createLight(GLenum light, GLenum light_kind, float r, float g, float b, float a, Light_Struct * light_s);
        /*
         * Creates a Position light.
         * @param float x - moving left and right on the x plane
         * @param float y - moving up and down on the y plane
         * @param float z - moving into and out of the screen on the z plane
         * @param float gl - tells OpenGL the coordinates (x,y,z/r,g,b) are the position of the light source - use 1.0f
        */
        void createPositionLight(GLenum light, float x, float y, float z, float gl, Light_Struct * light_s);
        void renderLight(Light_Struct * light);
};


#endif
